/**
 接口

 使用接口来描述一个拥有 firstName 和 lastName 字段的对象
 入参设置成对象的接口
 let user 包含 firstName 和 lastName两个 字段

 在 TypeScript 里，只在两个类型内部的结构兼容，那么这两个类型就是兼容的。
 这就允许我们在实现接口时候只要保证包含了接口要求的结构就可以，而不必明确地使用 implements 语句
 */
interface Person {
    firstName: string
    lastName: string
}

function greeter (person: Person) {
    return 'Hello, ' + person.firstName + ' ' + person.lastName
}

let user = {
    firstName: 'Yee',
    lastName: 'Huang'
}

console.log(greeter(user))
